'use strict'
process.env.NODE_ENV = 'develop'
// process.env.NODE_ENV = 'production'
const config = {

  /**
   * 默认端口
   */

  port: 3003,

  /**
   * 跨域设置
   */

  corsOptions: {
    origin: '*',
    credentials: true,
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
    allowMethods: ['OPTIONS', 'GET', 'PUT', 'POST', 'DELETE'],
    allowHeaders: ['x-requested-with', 'accept', 'origin', 'content-type', 'authorization'],
    maxAge: 1728000
  },

  /**
   * 上传文件处理
   */

  corsBodyParser: {
    // encoding: 'gzip, deflate, br',
    multipart: true, // 支持ctx.request.body获取formdata
    strict: false,
    patchKoa: true,
    patchNode: true,
    urlencoded: true,
    formidable: {
      multipart: true,
      // uploadDir: path.join(__dirname,'public/upload/'), // 设置文件上传目录
      keepExtensions: true, // 保持文件的后缀
      maxFieldsSize: 2097152, // 文件上传大小 2 * 1024 * 1024
      onFileBegin: (name, file) => { // 文件上传前的设置
        // console.log(file)
      }
    },
    onError: err => {
      // console.log(err)
    }
  },

  /**
   * 设置超时时间
   */

  timeout: 6000, // 1000 * 6
  /**
     * develop 开发环境
     * test 测试环境
     * production 生产环境
     */

  'env': 'production',

  /**
     * debug: 是否开启debug模式
     * true 开启，错误信息输出到客户端和日志文件
     * false 关闭，错误信息仅输出到日志文件
     */

  'debug': false,

  /**
   * logPath: 日志存储目录
  */

  'logPath': '/logs/',

  /** 
   * api 版本
   */
  api: '/v1',

  /** 
   * mongoose连接配置 ：[ip/域名]:[端口号(默认27017)]/[数据库(db)]
   */
  mongo: {
    devUrl: `mongodb://127.0.0.1:27017`,
    url: `mongodb://190.168.0.17:27017`,
  },
  /**
   * 一天过期时间秒数
   */
  ttl_one_day: 86400,
  // 三十天的时间数
  TTL_TENTH_DAY: 864000, 
  redis: {
    host: '127.0.0.1',
    port: 6379,
    prefix: 'blog:user:token:', // 存诸前缀
    ttl: 3 * 60,  // 过期时间  1000 * 60 * 60 * 24 
    family: 4,
    db: 0
  },

  /** 
   * 签名秘钥
   */
  secret: 'authorization',

  /** 
   * 过期时间
   */
  expiresIn: 60 * 60 * 24
}

module.exports = config
